package com.ctshk.rpc.order.custom.dto.order;


import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 游客退款记录dto
 * </p>
 *
 * @author 叶冠峰
 * @since 2021-02-25
 */
@Data
@ApiModel(value="游客退款记录dto", description="游客退款记录dto")
public class CustomOrderTouristRefundListDTO implements Serializable {

    @ApiModelProperty(value = "订单ID")
    private Long orderId;

    @ApiModelProperty(value = "团期ID")
    private Long scheduleId;

    @ApiModelProperty(value = "游客ID")
    private Long touristId;

    @ApiModelProperty(value = "退款记录ID")
    private Long refundId;

    @ApiModelProperty(value = "退款单号")
    private String refundNumber;

    @ApiModelProperty(value = "退款方式")
    private String refundType;

    @ApiModelProperty(value = "退款方")
    private String refundAccount;

    @ApiModelProperty(value = "退款原因")
    private String refundReason;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "中文姓")
    private String cnSurname;

    @ApiModelProperty(value = "中文姓名")
    private String cnName;

    @ApiModelProperty(value = "退款状态（2：审批中，3：审批通过，4：审批不通过，5：已退款）")
    private Integer refundStatus;

    @ApiModelProperty(value = "实收金额")
    private BigDecimal totalPaidIn;

    @ApiModelProperty(value = "退款金额")
    private BigDecimal refundAmount;

    @ApiModelProperty(value = "实际退款金额")
    private BigDecimal actualRefundAmount;

    @ApiModelProperty(value = "创建时间")
    private LocalDateTime gmtCreate;

    @ApiModelProperty(value = "创建人")
    private Long createId;

    @ApiModelProperty(value = "创建人姓名")
    private String createUserName;

    @ApiModelProperty(value = "创建人部门")
    private String createUserDept;

    public BigDecimal getRefundAmount() {
        if (refundAmount == null) {
            return new BigDecimal(0);
        }
        return refundAmount;
    }
}
